#ifndef PigData_H
#define PigData_H

/*
 * Description: 图像管理模块，可以提供各种扫查支持，并支持扫查窗的联动。
 */

#include <QObject>

#include "sdk_framework_api.h"
#include "view_core_def.h"
#include "ndt_scan_window.h"

using namespace eintik::presentation::viewcore;

class PigViewData final : public QObject, public eintik::UltrasoundFrameObserver
{
    Q_OBJECT

public:
    explicit PigViewData(QObject *parent = nullptr);
    ~PigViewData();

    void OnFrame(std::shared_ptr<const eintik::IFrame> frame) override;

    std::string source() const override { return "View Core"; }

    QWidget *getAScan() { return ascan; }
    QWidget *getSScan() { return sscan; }
    QWidget *getACScan() { return cscan_a; }
    QWidget *getBCScan() { return cscan_b; }

signals:
    void update_frame(std::shared_ptr<const eintik::UltrasoundFrameSequence> f);

private:
    NdtScanWindow *ascan;
    NdtScanWindow *sscan;
    NdtScanWindow *cscan_a;
    NdtScanWindow *cscan_b;
};

#endif // PigData_H
